package com.rainszj.pojo.po;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 博客类
 *
 * @author rainszj
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Blog implements Serializable {

    /**
     * 博客 ID
     */
    private Long id;
    /**
     * 博客标题
     */
    private String title;
    /**
     * 博客内容
     */
    private String content;
    /**
     * 首图
     */
    private String firstPicture;
    /**
     * 原创、转载、随笔
     */
    private String flag;
    /**
     * 浏览次数
     */
    private Long views;
    /**
     * 是否开启赞赏
     */
    private boolean appreciation;
    /**
     * 是否开启转载
     */
    private boolean shareStatement;

    /**
     * 是否开启评论
     */
    private boolean commentabled;
    /**
     * 是否发布
     */
    private boolean published;
    /**
     * 是否推荐
     */
    private boolean recommend;

    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 文章简要描述
     */
    private String description;
    /**
     * 外键
     */
    private String tagIds;
    private Long userId;

    /**
     * 与数据库中的 t_type 做连接操作，
     * 查询给博客设置的所有分类
     */
    private Long typeId;

    /**
     * 一对多
     */
    private Type type;


    private User user;
    private List<Comment> comments = new ArrayList<Comment>();
    /**
     * 多对多
     */
    private List<Tag> tags = new ArrayList<Tag>();

}
